package com.pattern.structural.adaptor;

import org.springframework.aop.AfterReturningAdvice;
import org.springframework.aop.MethodBeforeAdvice;
import org.springframework.aop.framework.adapter.AdvisorAdapter;
import org.springframework.aop.framework.adapter.DefaultAdvisorAdapterRegistry;
import org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor;

/**
 * @Description
 * @Author Ping
 * @Date 2022/3/27 22:37
 **/
public class SpringAdaptor {

    /**
     * AdvisorAdapter  :  advisor   -->   methodInterceptor .
     * MethodBeforeAdviceAdapter :  MethodBeforeAdvice  ->  methodInterceptor .
     *  many advisors  -->   methodInterceptor chain .
     */
    MethodBeforeAdvice beforeAdvice ;
    MethodBeforeAdviceInterceptor methodBeforeAdviceInterceptor ;
    AdvisorAdapter advisorAdapter;
    DefaultAdvisorAdapterRegistry registry ;

}
